/**
 * 流程节点表
 * @author ZhuanZ（无密码）
 * @date 2025-01-14
 * 开源项目：https://gitee.com/lgx1992/lg-soar 求star！请给我star！请帮我点个star！
 */
import { BaseEntity, IConfigSchema } from '@/soar';

export interface ProcessNode extends BaseEntity {
  /** 节点ID */
  processNodeId?: any;
  /** 流程应用ID */
  processId?: any;
  /** 审批人类型(0-指定审核人（部门员工） 1-主管（所在部门负责人） 2-角色（角色中任意员工）) */
  examineType?: any;
  /** 节点驳回时(0-直接结束所有流程 1-驳回到前一个审批节点 2-继续流转至下一个审批节点) */
  nodeReject?: any;
  /** 审批方式(0-或签（有一人通过即可） 1-会签（多人同时审批，必须全部审核通过）) */
  examineMode?: any;
  /** 审批人用户ID(多人用逗号隔开，当审批类型为0,1时用) */
  approverIds?: any;
  /** 审批角色ID(多个用逗号隔开，当审批类型为2时用) */
  roleIds?: any;
  /** 节点顺序 */
  orders?: any;
  /** 状态 */
  status?: any;
  /** 扩展字段1 */
  extend1?: any;
  /** 扩展字段2 */
  extend2?: any;
  /** 扩展字段3 */
  extend3?: any;
  /** 创建时间 */
  createTime?: any;
  /** 修改时间 */
  updateTime?: any;
  /** 乐观锁 */
  version?: any;
  /** 创建人 */
  createBy?: any;
  /** 更新人 */
  updateBy?: any;
}

const fieldList: IConfigSchema<ProcessNode>[] = [
  {
    field: 'processId',
    label: '流程应用ID',
    dataType: 'number',
  },
  {
    field: 'examineType',
    label: '审批人类型(0-指定审核人（部门员工） 1-主管（所在部门负责人） 2-角色（角色中任意员工）)',
    dataType: 'number',
  },
  {
    field: 'nodeReject',
    label: '节点驳回时(0-直接结束所有流程 1-驳回到前一个审批节点 2-继续流转至下一个审批节点)',
    dataType: 'number',
  },
  {
    field: 'examineMode',
    label: '审批方式(0-或签（有一人通过即可） 1-会签（多人同时审批，必须全部审核通过）)',
    dataType: 'number',
  },
  {
    field: 'approverIds',
    label: '审批人用户ID(多人用逗号隔开，当审批类型为0,1时用)',
    dataType: 'string',
  },
  {
    field: 'roleIds',
    label: '审批角色ID(多个用逗号隔开，当审批类型为2时用)',
    dataType: 'string',
  },
  {
    field: 'orders',
    label: '节点顺序',
    dataType: 'number',
  },
  {
    field: 'status',
    label: '状态',
    dataType: 'string',
  },
  {
    field: 'extend1',
    label: '扩展字段1',
    dataType: 'string',
  },
  {
    field: 'extend2',
    label: '扩展字段2',
    dataType: 'string',
  },
  {
    field: 'extend3',
    label: '扩展字段3',
    dataType: 'string',
  },
  {
    field: 'version',
    label: '乐观锁',
    dataType: 'number',
  },
];

export default fieldList;
